Logic Engines as Interactors
نویسنده
چکیده
We introduce a new programming language construct, Interactors, supporting the agent-oriented view that programming is a dialog between simple, self-contained, autonomous building blocks. We define Interactors as an abstraction of answer generation and refinement in Logic Engines resulting in expressive language extension and metaprogramming patterns, including emulation of Prolog’s dynamic database. A mapping between backtracking based answer generation in the callee and “forward” recursion in the caller enables interaction between different branches of the callee’s search process and provides simplified design patterns for algorithms involving combinatorial generation and infinite answer streams. Interactors extend language constructs like Ruby, Python and C#’s multiple coroutining block returns through yield statements and they can emulate the action of monadic constructs and catamorphisms in functional languages.
منابع مشابه
Interoperating Logic Engines
We introduce a new programming language construct, Interactors, supporting the agent-oriented view that programming is a dialog between simple, self-contained, autonomous building blocks. We define Interactors as an abstraction of answer generation and refinement in Logic Engines resulting in expressive language extension and metaprogramming patterns. As a first step toward a declarative semant...
متن کاملA Coordination Model for Interactive Components
Although presented with a variety of ‘flavours’, the notion of an interactor, as an abstract characterisation of an interactive component, is well-known in the area of formal modelling techniques for interactive systems. This paper replaces traditional, hierarchical, ‘tree-like’ composition of interactors in the specification of complex interactive systems, by their exogenous coordination throu...
متن کاملA Logic Programming Infrastructure for Remote Execution, Mobile Code and Agents
We describe a set of programming pattems used for implementing a scalable infrastructure which supports remote execution mechanisms, mobile code and agents in a distributed logic programming framework. The particular focus of this paper is on the use of BinProlog’s strong metaprogramming abilities. Some advanced logic programming constructs as intuitionistic implication, high-order calUN cooper...
متن کاملWhen Does It Pay Off to Use Sophisticated Entailment Engines in ILP?
Entailment is an important problem in computational logic particularly relevant to the Inductive Logic Programming (ILP) community as it is at the core of the hypothesis coverage test which is often the bottleneck of an ILP system. Despite developments in resolution heuristics and, more recently, in subsumption engines, most ILP systems simply use Prolog’s left-to-right, depth-first search sele...
متن کاملBuilding a fuzzy logic based tool for e-readiness measurement
Firstly, this paper presents fuzzy logic based approaches for building a tool for measuring ereadiness of a country. This paper proposes fuzzy logic for realizing the measuring tool as fuzzy logic allows processing of heterogeneous indicators and imprecise values assigned for them. The tool is constructed by using one or more fuzzy logic based inference engines. Secondly, due to the problems in...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008